The processing power of conventional personal computing devices is said to double every eighteen months. When combined with the increasing availability of network bandwidth and accessible content, incomprehensibly large amounts of information are available for retrieval and review by individual computing device users. However, many of the most prevalent computing devices in the home or small office do not take advantage of this wealth of information. Such devices, often referred to as “customer premises equipment” (CPE) include the set-top-boxes that receive and decode digital cable or satellite television signals, video game consoles, and home network gateways. As opposed to general purpose devices such as PC's, these CPE devices are typically characterized by being targeted or dedicated to a specific application. Despite the ever increasing processing power in CPE devices and the high bandwidth connectivity available to them via their associated broadband networks, CPE devices and are most often employed simply to control the display of information or audio-video content that is broadcast to them from one or more centralized servers. This wealth of untapped computing and network resources can be applied to provide personalized interactive services to CPE device users.
Broadband networks typically connect a small number of powerful, centrally located server computers to a large number of remote CPE devices. Such networks are optimized to support high bandwidth broadcast of video, audio, graphic, text, and data content from the central servers out to CPE devices, but often provide much less bandwidth for communication in the other direction, from the CPE devices back to the central servers or out to external networks such as the internet.
The often limited computing power of CPE devices and asymmetrical nature of broadband networks creates an environment in which deployment of customizable, interactive applications for CPE devices is difficult. Extant systems continue the trend of using the CPE as simple display engines, and require many additional powerful centralized servers to perform the computing tasks necessary to support interactive services. This centralized server model does not scale well as the number of CPE users grows, especially when one considers the very large number of broadband network subscribers that are typical in the digital cable and satellite television industries.
There is thus a need for a system that provides customizable, interactive applications that execute primarily on the local CPE devices, that makes efficient use of the computing resources on those devices and the broadband networks to which they are connected, and that communicates with external data sources, centralized servers, or other CPE devices. Such a system must scale well for a large number of users, requiring no support from powerful centralized servers.